package itsm.isperp.framework.security.encoding;

/**
 * DES加密解密辅助器
 * 
 * @author lizx
 * @date 2012-10-22
 * @version V1.0
 */
public class DESHelper {

	private static final String DES_KEY = "ITST_DES_KEY_CONFIG";

	public static String getDefualEncryptPassword() {
		return "WP5Essdoi1Q=";
	}

	/**
	 * 对指定字符串进行加密
	 * 
	 * @param str
	 *            指定字符串
	 * @return 加密结果
	 * @throws Exception
	 */
	public static String encrypt(String str) throws Exception {
		return EncryptDecryptData.encrypt(str, DES_KEY);
	}

	/**
	 * 制定加密字符串及加密密钥进行加密
	 * 
	 * @param str
	 *            加密字符串
	 * @param key
	 *            加密密钥
	 * @return 加密结果
	 * @throws Exception
	 */
	public static String encrypt(String str, String key) throws Exception {
		return EncryptDecryptData.encrypt(str, key);
	}

	/**
	 * 制定加密串使用默认方式解密
	 * 
	 * @param str
	 *            加密串
	 * @return 解密结果
	 * @throws Exception
	 */
	public static String decrypt(String str) throws Exception {
		return EncryptDecryptData.decrypt(str, DES_KEY);
	}

	/**
	 * 指定加密串及加密密钥解密
	 * 
	 * @param str
	 *            加密串
	 * @param key
	 *            加密密钥
	 * @return 解密结果
	 * @throws Exception
	 */
	public static String decrypt(String str, String key) throws Exception {
		return EncryptDecryptData.decrypt(str, key);
	}

	public static String decrypt(String str, byte[] key) throws Exception {
		return EncryptDecryptData.decrypt(str, key);
	}
}
